#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <assert.h>
#include <string.h>
//int my_strcmp(const char* str1, const char* str2)
//{
//	assert(str1 && str2);
//	while (*str1 == *str2)
//	{
//		if (*str1 == '\0')
//			return 0;
//		str1++;
//		str2++;
//	}
//	return (*str1 - *str2);
//}
//int main()
//{
//	char arr1[] = "ab";
//	char arr2[] = "abcd";
//	int ret = my_strcmp(arr1,arr2);
//	if (ret > 0)
//		printf("arr1>arr2\n");
//	else if (ret == 0)
//		printf("arr1=arr2\n");
//	else
//		printf("arr1<arr2\n");
//
//	printf("%d\n", ret);
//	return 0;
//}

//char* my_strncpy(char* dest, const char* src, int num)
//{
//	assert(dest && src);
//
//	char* str = dest;
//	int len = strlen(src);
//
//	int i = 0;
//	for (i = 0; i < num; i++)
//	{
//		if (num <= len + 1)
//		{
//			*str = *src;
//		}
//		else
//			*str = '\0';
//		str++;
//		src++;
//	}
//
//	return dest;
//}
//char* my_strncpy(char* dest, const char* src, int num)
//{
//	char* str = dest;
//	while (num && (*dest++ = *src++) != '\0')
//	{
//		num--;
//	}
//	if (num)
//	{
//		while (num--)
//			*dest++ = '\0';
//	}
//	return str;
//}
//int main()
//{
//	char arr1[20] = "abcdef";
//	char arr2[] = "hello";
//	my_strncpy(arr1, arr2, 6);
//	printf(arr1);
//	return 0;
//}
//char* my_strstr(const char* str1, const char* str2)
//{
//	assert(str1 && str2);
//	const char* s1 = str1;
//	const char* s2 = str2;
//	const char* p = str1;
//	while (*p)
//	{
//		s1 = p;
//		s2 = str2;
//		while (*s1 == *s2 && *s1 != '\0' && *s2 != '\0')
//		{
//			s1++;
//			s2++;
//		}
//		if (*s2 == '\0')
//			return p;
//		p++;
//	}
//	return NULL;
//}
void* my_memcpy(void* destination, const void* source, size_t num)
{


}

int main()
{
	char arr1[] = "abccdef";
	char arr2[] = "cde";
	char* p = my_strstr(arr1, arr2);
	putchar(*p);

	return 0;
}